Repository navigation
fix(vocabulary): write published terms and read historical workflow facts - #37
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Workflow exports and verifier registration still use the former vocabulary namespace. New facts now use the published per-term ownership crosswalk: five Quipu classes and fourteen Camayoc core properties. Unknown terms refuse rather than falling back to a guessed vocabulary.
Verification and signed fixed/calendar history readers accept both historical and canonical literal predicates through explicit UNION branches, preserving the established native literal-reader compatibility form. Exact fact cardinality, trust checks and signature checks remain; duplicate aliases stay UNKNOWN. Run/workflow/event identities, signature messages and frozen local records keep their existing bytes. This is a vocabulary source change, with no instance migration, enrollment or runtime switch.
Validation: fresh-builder failure reproduced on base
0b6b8492. The full suite and focused historical/canonical/duplicate controls pass under the HOME escape guard. A separate private RDF query control executes the actual UNION history queries against canonical and legacy facts (both SUCCEEDED) and an alias duplicate (UNKNOWN). The installed native CLI passes a basic literal UNION control; the larger native fixture load refused for missing fixture governance base, so full native-engine acceptance remains unproved. No production configuration or trust gate was changed. Hosted CI and one independent review are required before landing; release/install acceptance is separate.Demo: same-input base/candidate recording and replay instructions. Four builders emitting legacy vocabulary become zero; run identity and signature bytes remain unchanged. Pure builders and a stub public key only.
The ownership source and SHA-256 are recorded in the compatibility notes. Repository-share former-name paths and private intermediate indices retain their separate contract. Rollback is a normal revert while preserving outboxes and identities.
Repository pendant source controls: the first head failed because I omitted the two curated cli.py/signing.py witness hashes. Only those hashes are refreshed; summaries, identities and timestamps are unchanged. The exact local knowledge/publication/query controls now pass (16 with two declared native-artifact skips; 20; 6), HOME guard clean. Fresh hosted checks are required on this successor; old green leaves do not qualify it.